  10 CLEAR ;BC=240;FC=7;NT=0;CY=0;PRINT "     SINK THE U-BOAT";FOR Z=1TO 400;NEXT Z
  20 CLEAR ;P=0;FOR A=1TO 60;@(A)=0;NEXT A
  30 FOR X=21TO -39STEP -10;LINE 75,X,1=XY;LINE -75,X,3;NEXT X
  40 T=5;GOSUB 320;T=0;GOSUB 300
  60 NT=1;CY=40;CX=-65;INPUT "YOUR SUB LOCATION?:",A;NT=0;IF @(A)=1GOTO 60
  70 IF A<31GOTO 60
  80 GOSUB 330;GOSUB 380;GOSUB 400;Q=A;IF P<1GOTO 120
  90 CY=28;INPUT "YOUR TARGET LOCATION:",B;IF @(B)=1GOTO 90
 100 IF B>30GOTO 90
 110 F=1;GOSUB 480;GOTO 130
 120 GOSUB 600
 130 B=RND (30)+31;IF B>60B=60
 140 IF @(B)=1GOTO 130
 150 CY=28;PRINT "      U-BOAT ATTACK      ";A=Q;GOSUB 330;NT=1;FOR Z=1TO 5;CX=-23;CY=I;PRINT " D I V E ";NEXT Z;NT=0
 155 GOSUB 410;GOSUB 300
 160 A=L;GOSUB 330;GOSUB 380;GOSUB 400;F=0;GOSUB 480
 170 A=L;I=E;GOSUB 410;GOSUB 300;CY=28;PRINT "    MAN BATTLE STATIONS   ";GOSUB 600;GOTO 60
 300 FOR X=-75TO 80STEP 15;LINE X,21,1=XY;LINE X,-39,1;NEXT X
 310 LINE -75,-8,1=XY;LINE 75,-8,1;RETURN 
 320 IF T=5FOR A=1TO 60
 330 IF A<=10K=A;I=0;GOTO 350
 340 I=A÷10;J=I×10;K=A-J;IF K=0K=10;I=I-1
 350 C=(-70+(15×(K-1)));I=(16-(I×10));IF T=5CY=I;CX=C;PRINT #1,A;NEXT A
 360 RETURN 
 380 CY=I;CX=C;PRINT #1," ";RETURN 
 400 C=C+1;BOX C+1,I-3,8,3,3;BOX C-4,I-2,1,1,3;BOX C-4,I-4,1,1,3;BOX C+5,I-3,1,1,3;BOX C+5,I-2,1,1,3;BOX C+5,I-4,1,1,3
 405 BOX C+6,I-3,1,1,3;BOX C+1,I-1,5,1,3;BOX C+1,I,3,1,3;BOX C+1,I+2,1,3,3;BOX C,I+3,1,1,3;RETURN 
 410 BOX 0,I,160,8,2;IF A<=10H=1;GOTO 440
 420 G=A÷10;G=G×10;H=G;IF A-G=0H=A-9;GOTO 440
 430 H=H+1
 440 G=H+9;FOR A=HTO G;IF @(A)=1GOTO 460
 450 GOSUB 330;CY=I;CX=C;PRINT #1,A
 460 NEXT A;RETURN 
 480 D=C;E=I;A=B;GOSUB 330;NT=1;&(21)=255;&(23)=255;LINE D,E,1=XY;H=XY;LINE C,I,3;XY=H;LINE C,I,3;NT=0;&(23)=0;&(21)=0
 490 @(A)=1;NT=2;FOR W=1TO 10;BC=135;FC=0;BOX C+1,I,RND (6),RND (6),3;MU=W;BC=0;FC=135;NEXT W;BC=240;FC=7;NT=0
 495 GOSUB 380;IF U=BIF F=1GOTO 800
 500 IF B=QIF F=0GOTO 800
 510 RETURN 
 600 L=RND (29)+1;P=5;IF @(L)=1GOTO 600
 610 U=L;RETURN 
 700 CY=32;PRINT "       NICE TRY BUT
 710 CY=16;PRINT "      THE U-BOAT IS
 720 CY=-8;CX=-23;PRINT "SUPERIOR";STOP
 750 CY=32;CX=-24;PRINT "ONCE AGAIN
 760 CY=0;PRINT "  THE FREE WORLD IS SAFE";STOP
 800 NT=2;&(21)=255;FOR N=255TO 20STEP -3;BC=N;MU=Y;&(23)=N;NEXT N;&(21)=0;BC=240
 810 FOR Z=1TO 5;CY=0;CX=-26;PRINT "DIRECT HIT";CY=0;CX=-26;PRINT "         ";NEXT Z;CLEAR ;IF F=1GOTO 750
 820 IF F=0GOTO 700
>:RETURN ;RUN 
